/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package carreras.entidades;

/**
 *
 * @author Fanky10 <fanky10@gmail.com>
 * esta entidad es la encargada de unificar Auto y corredor para asignarle un numero
 */
public class CorredorAuto {
    
    private int numero_asignado;
    private Auto auto;
    private Corredor corredor;
    private Categoria categoria;
    private boolean esta_actualizado;
    private int estado_carrera;
    //se agrega este estado, ya que en el tipo de comp. eliminatoria
    //se compiten los ganadores vs perdedores y el ganador de c/categoria compite entre si con el otro
    private int estado_competencia;
    public static final int ESTADO_COMPETENCIA_LIBRE=0;
    public static final int ESTADO_COMPETENCIA_GANADOR=1;
    public static final int ESTADO_COMPETENCIA_PERDEDOR=2;
    //private static final java.awt.Color[] COLORES = new...
    public CorredorAuto(int numero_asignado,Auto auto, Corredor corredor, Categoria categoria){
        this(numero_asignado, auto, corredor);
        this.categoria = categoria;
        
    }
    public CorredorAuto(Auto auto, Corredor corredor){
        this(0,auto,corredor);
    }
    public CorredorAuto(int numero_asignado, Auto auto, Corredor corredor) {
        this.numero_asignado = numero_asignado;
        this.auto = auto;
        this.corredor = corredor;
        this.categoria = new Categoria();        
        this.esta_actualizado = false;
        this.estado_carrera = CarrilCarrera.ESTADO_SIN_DATOS; //inicia sin datos
        this.estado_competencia = ESTADO_COMPETENCIA_LIBRE; //empieza libre... luego se pone las pilas
    }
    
    @Override
    public String toString(){
        return numero_asignado + " " + auto + " " + getEstadoActual();
    }
    public String getEstadoActual(){
        return CarrilCarrera.ESTADOS_CARRERA[estado_carrera];
//        if(!esta_actualizado){
//            return "Esperando Datos";
//        }else{
//            return CarrilCarrera.ESTADOS_CARRERA[estado_carrera];
//        }
    }
    public boolean isEsta_actualizado() {
        return esta_actualizado;
    }

    public void setEsta_actualizado(boolean esta_actualizado) {
        this.esta_actualizado = esta_actualizado;
    }
    
    public Auto getAuto() {
        return auto;
    }

    public void setAuto(Auto auto) {
        this.auto = auto;
    }

    public Corredor getCorredor() {
        return corredor;
    }

    public void setCorredor(Corredor corredor) {
        this.corredor = corredor;
    }

    public int getNumero_asignado() {
        return numero_asignado;
    }

    public void setNumero_asignado(int numero_asignado) {
        this.numero_asignado = numero_asignado;
    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }
    

    public int getEstado_carrera() {
        return estado_carrera;
    }

    public void setEstado_carrera(int estado_carrera) {
        this.estado_carrera = estado_carrera;
    }

    public int getEstado_competencia() {
        return estado_competencia;
    }

    public void setEstado_competencia(int estado_competencia) {
        this.estado_competencia = estado_competencia;
    }
    
    
    
    
}
